#include<stdio.h>

int main()
{
    // 字符串 ： 多个连续的字符的集合

    // 放在内存的 文字 常量 区 //(不可修改内存)
    
    //常量 字符串 指针  
    
    // const char *s = "hellowworld";
    
    // //试图修改不可修改的内存
    // //*s= 'p';
    // s++;
    // printf("%c\n",*s);
    
    // 字符数组：
    
    //char s[10] = {'h','e','l','l','l','o'};
    
    //用字符串去初始化字符数组
    //   0    '\0':字符串的结尾，代表字符串结束
    const char *s1 = "hello"; //常量 指针    
    //    "" 双引号代表常量字符串  ，  char *s = "sadas" 代表是把字符串的首元素地址给 指针 s 

    char s2[] = "hello" ;       // 如果有具体的初始化，可以不写数组的大小
    
    // s2是指针常量
    
    // 字符数组的初始化：将字符串的值赋值到字符数组里                     
    
    // *s = 'p';
    
    // 字符数组 的 首地址 是一个 指针 常量 ，不允许修改
    
    // s = "world";试图将 数组 的首地址指向一个新的字符串 , 是错误的



    //printf("%s\n",s);
    
    
    // for(int i=0;i<6;i++)
    // {
    //     printf("%d %c\n",s[i],s[i]);
    // }


   
   
   //%s:以 字符串 形式输出一段连续内存
   
   //printf("%s\n",s);
    
    
    return 0;
}